Authors: Vince Carey2, Another Author3.
Last modified: 1 Nov, 2020.
This document is a technical illustration of how workshop documents are authored and rendered. The content of this document will change completely as the workshop content is specified.
An example for a 45-minute workshop:
| Activity | Time |
|---|---|
| Brief intro to R/Rstudio | 10m |
| Biological context | 10m |
| Packages to be used | 10m |
| Analytical approach to the question | 15m |
| Simple exercises | 10m |
| Review | 5m |
List “big picture” student-centered workshop goals and learning objectives. Learning goals and objectives are related, but not the same thing. These goals and objectives will help some people to decide whether to attend the conference for training purposes, so please make these as precise and accurate as possible.
Learning goals are high-level descriptions of what participants will learn and be able to do after the workshop is over. Learning objectives, on the other hand, describe in very specific and measurable terms specific skills or knowledge attained. The Bloom’s Taxonomy may be a useful framework for defining and describing your goals and objectives, although there are others.
In the following chunk, we retrieve and render a table produced in Lambert et al. (2018). When rendered in HTML, the table is searchable, thanks to ‘DT::datatable’.
lamtab = biocwk312::lamb_main_20201101 library(DT) datatable(lamtab) #> Warning in instance$preRenderHook(instance): It seems your data is too big #> for client-side DataTables. You may consider server-side processing: https:// #> rstudio.github.io/DT/server.html
Exercise: How many records mention transcription factor ‘YY1’?
Note that each transcription factor is accompanied by an Ensembl identifier. It would be nice to have hyperlinks to Ensembl pages. We can accomplish this by ‘wrapping’ the identifier to create a hyperlink, and then rendering using the ‘escape=FALSE’ setting for ‘datatable’.
usw_pref = "https://uswest.ensembl.org/Homo_sapiens/Gene/Summary?g=" wr_ens = function(x, pref) { paste0("<A href='", pref, x, "'>", x, "</A>") } head(wr_ens(lamtab$ID, usw_pref)) # test #> [1] "<A href='https://uswest.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000137203'>ENSG00000137203</A>" #> [2] "<A href='https://uswest.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000008196'>ENSG00000008196</A>" #> [3] "<A href='https://uswest.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000087510'>ENSG00000087510</A>" #> [4] "<A href='https://uswest.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000008197'>ENSG00000008197</A>" #> [5] "<A href='https://uswest.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000116819'>ENSG00000116819</A>" #> [6] "<A href='https://uswest.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000117713'>ENSG00000117713</A>" lamtab2 = lamtab lamtab2$ID = wr_ens(lamtab2$ID, usw_pref) datatable(lamtab2, escape=FALSE) #> Warning in instance$preRenderHook(instance): It seems your data is too big #> for client-side DataTables. You may consider server-side processing: https:// #> rstudio.github.io/DT/server.html
This is all taken care of for the user of the TFutils package in the function ‘browse_lambert_main()’, which also includes links for PubMed IDs scattered in Lambert’s published Excel table.
Visualization of genomic data is closely linked to annotation. Annotation can be unwieldy and cumbersome to interrogate. We have collected some slices of genomic data and annotation to help with exploration of new approaches to interactive visualization in reports.
Reference positions of transcripts. We have information on a selection of transcripts on chromosome 17 in the vicinity of gene ORMDL3.
head(biocwk312::txdata_near_ormdl3,3) #> GRanges object with 3 ranges and 4 metadata columns: #> seqnames ranges strand | tx_id #> <Rle> <IRanges> <Rle> | <character> #> ENSE00003715979 17 37924458-37924570 + | ENST00000620683 #> ENSE00003732795 17 37977972-37979038 - | ENST00000618047 #> ENSE00003734132 17 37978470-37979038 - | ENST00000617125 #> gene_name gene_id type #> <character> <character> <factor> #> ENSE00003715979 TBC1D3D ENSG00000274419 exon #> ENSE00003732795 TBC1D3L ENSG00000274512 exon #> ENSE00003734132 TBC1D3C ENSG00000278299 exon #> ------- #> seqinfo: 1 sequence from GRCh38 genome
Positions and annotation of GWAS hits. We used the gwascat package to get a copy of the EBI/EMBL GWAS catalog on 1 November 2020, and limited the information to records pertaining to the interval 38-43 Mb on chr17. We also limited the number of metadata fields on the hits.
names(S4Vectors::mcols(biocwk312::hits_near_ormdl3_trunc10)) #> [1] "DATE ADDED TO CATALOG" "PUBMEDID" "DISEASE/TRAIT" #> [4] "REPORTED GENE(S)" "PVALUE_MLOG" "value" head(biocwk312::hits_near_ormdl3_trunc10, 3) #> GRanges object with 3 ranges and 6 metadata columns: #> seqnames ranges strand | DATE ADDED TO CATALOG PUBMEDID #> <Rle> <IRanges> <Rle> | <Date> <numeric> #> [1] 17 39766006 * | 2009-06-21 19458352 #> [2] 17 39965740 * | 2010-10-14 20860503 #> [3] 17 39905943 * | 2010-10-14 20860503 #> DISEASE/TRAIT REPORTED GENE(S) PVALUE_MLOG value #> <character> <character> <numeric> <numeric> #> [1] Primary biliary chol.. IKZF3 5.09691 5.09691 #> [2] Asthma GSDMA 8.30103 8.30103 #> [3] Asthma GSDMB 7.00000 7.00000 #> ------- #> seqinfo: 24 sequences from GRCh38 genome
An interactive visualization of GWAS hits and nearby genes.
We’ll use the TnT package along with some functions built for the workshop to visualize GWAS hit locations in the context of transcripts.
# first setup transcripts trxview = TxTrackFromGRanges(biocwk312::txdata_near_ormdl3, label = "Transcript\n Structure", color = "grey2",height = 300) trxview = reset_tooltip(trxview) trxview = reset_color(trxview) trxview = reset_display_label(trxview) # second setup GWAS hits hitview = TnT::PinTrack(biocwk312::hits_near_ormdl3_trunc10, color="blue") # render TnTGenome(list(hitview, trxview), view.range=GRanges("17", IRanges(39.5e6, 40.5e6)))
Lambert, Samuel A., Arttu Jolma, Laura F. Campitelli, Pratyush K. Das, Yimeng Yin, Mihai Albu, Xiaoting Chen, Jussi Taipale, Timothy R. Hughes, and Matthew T. Weirauch. 2018. “The Human Transcription Factors.” Cell 172 (4): 650–65. https://doi.org/10.1016/j.cell.2018.01.029.